[INFO] cloning repository https://github.com/New1Direction/korg
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/New1Direction/korg" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNew1Direction%2Fkorg", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNew1Direction%2Fkorg'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ab4eaeb2257fc6aad8ce59920f4c30f5b901fc80
[INFO] fixing New1Direction/korg against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNew1Direction%2Fkorg" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/New1Direction/korg
[INFO] finished tweaking git repo https://github.com/New1Direction/korg
[INFO] tweaked toml for git repo https://github.com/New1Direction/korg written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/New1Direction/korg on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/New1Direction/korg already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 583451febe83f64599f9978f21f82209b6f7ee0a51337b48ea47c60c8ce201ec
[INFO] running `Command { std: "docker" "start" "583451febe83f64599f9978f21f82209b6f7ee0a51337b48ea47c60c8ce201ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "583451febe83f64599f9978f21f82209b6f7ee0a51337b48ea47c60c8ce201ec" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "583451febe83f64599f9978f21f82209b6f7ee0a51337b48ea47c60c8ce201ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "583451febe83f64599f9978f21f82209b6f7ee0a51337b48ea47c60c8ce201ec" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/korg-auth/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/korg-core/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/korg-embeddings/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/korg-llm/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/korg-registry/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/korg-ledger/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/korg-runtime/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/korg-server/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/korg-tui/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/korg-bridge/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/korg-verify/Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking either v1.16.0
[INFO] [stderr]     Checking getrandom v0.4.2
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking reborrow v0.5.5
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]     Checking signature v2.2.0
[INFO] [stderr]    Compiling openssl v0.10.80
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking ed25519 v2.2.3
[INFO] [stderr]     Checking yoke v0.8.2
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling pulp v0.21.5
[INFO] [stderr]    Compiling dyn-stack-macros v0.1.3
[INFO] [stderr]     Checking rustls-pki-types v1.14.1
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking dyn-stack v0.13.2
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking raw-cpuid v11.6.0
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]     Checking raw-cpuid v10.7.0
[INFO] [stderr]     Checking dyn-stack v0.10.0
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]     Checking directories v5.0.1
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]    Compiling toml_edit v0.25.11+spec-1.1.0
[INFO] [stderr]     Checking fs2 v0.4.3
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking rand_distr v0.5.1
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking pulp v0.18.22
[INFO] [stderr]     Checking ed25519-dalek v2.2.0
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]    Compiling openssl-sys v0.9.116
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking rand v0.8.6
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]    Compiling zip v1.1.4
[INFO] [stderr]    Compiling num_enum_derive v0.7.6
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]    Compiling onig_sys v69.9.3
[INFO] [stderr]     Checking memmap2 v0.9.10
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling target-lexicon v0.12.16
[INFO] [stderr]     Checking rustix v1.1.4
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking yoke v0.7.5
[INFO] [stderr]     Checking gemm-common v0.17.1
[INFO] [stderr]     Checking console v0.15.11
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]     Checking num_enum v0.7.6
[INFO] [stderr]     Checking portable-atomic v1.13.1
[INFO] [stderr]    Compiling esaxx-rs v0.1.10
[INFO] [stderr]     Checking gemm-f32 v0.17.1
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking uuid v1.23.1
[INFO] [stderr]     Checking gemm-f64 v0.17.1
[INFO] [stderr]     Checking gemm-c64 v0.17.1
[INFO] [stderr]     Checking gemm-c32 v0.17.1
[INFO] [stderr]     Checking gemm-common v0.18.2
[INFO] [stderr]     Checking webpki-roots v1.0.7
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking gemm-f16 v0.17.1
[INFO] [stderr]     Checking itertools v0.11.0
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking gemm-f32 v0.18.2
[INFO] [stderr]     Checking gemm-c64 v0.18.2
[INFO] [stderr]     Checking gemm-c32 v0.18.2
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]     Checking gemm-f64 v0.18.2
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking gemm-f16 v0.18.2
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]     Checking korg-ledger v0.1.0 (/opt/rustwide/workdir/crates/korg-ledger)
[INFO] [stderr]    Migrating crates/korg-ledger/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking safetensors v0.4.5
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]     Checking gemm v0.17.1
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking indicatif v0.17.11
[INFO] [stderr]     Checking webpki-roots v0.26.11
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]    Compiling monostate-impl v0.1.18
[INFO] [stderr]    Compiling macro_rules_attribute-proc_macro v0.2.2
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking gemm v0.18.2
[INFO] [stderr]     Checking ug v0.1.0
[INFO] [stderr]     Checking monostate v0.1.18
[INFO] [stderr]    Compiling pyo3-build-config v0.22.6
[INFO] [stderr]     Checking rayon-cond v0.3.0
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking macro_rules_attribute v0.2.2
[INFO] [stderr]     Checking spm_precompiled v0.1.4
[INFO] [stderr]     Checking ghash v0.5.1
[INFO] [stderr]     Checking fancy-regex v0.13.0
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]     Checking serde_plain v1.0.2
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stderr]     Checking derive_builder v0.20.2
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking h2 v0.4.14
[INFO] [stderr]     Checking unicode-normalization-alignments v0.1.12
[INFO] [stderr]     Checking unicode_categories v0.1.1
[INFO] [stderr]    Compiling tree-sitter-python v0.25.0
[INFO] [stderr]    Compiling tree-sitter-rust v0.24.2
[INFO] [stderr]     Checking aes-gcm v0.10.3
[INFO] [stderr]     Checking pbkdf2 v0.12.2
[INFO] [stderr]     Checking korg-core v0.1.0 (/opt/rustwide/workdir/crates/korg-core)
[INFO] [stderr]    Migrating crates/korg-core/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking streaming-iterator v0.1.9
[INFO] [stderr]     Checking canonical_json v0.1.0
[INFO] [stderr]     Checking candle-core v0.8.4
[INFO] [stderr]     Checking sysinfo v0.30.13
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking shell-words v1.1.1
[INFO] [stderr]     Checking rusty-fork v0.3.1
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking rand_xorshift v0.4.0
[INFO] [stderr]     Checking unarray v0.1.4
[INFO] [stderr]     Checking proptest v1.11.0
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling tree-sitter v0.26.9
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]        Fixed crates/korg-core/src/telemetry.rs (8 fixes)
[INFO] [stderr]     Checking korg-registry v0.1.0 (/opt/rustwide/workdir/crates/korg-registry)
[INFO] [stderr]     Checking onig v6.5.3
[INFO] [stderr]    Migrating crates/korg-registry/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]     Checking tokio-test v0.4.5
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]    Compiling pyo3-ffi v0.22.6
[INFO] [stderr]    Compiling pyo3-macros-backend v0.22.6
[INFO] [stderr]     Checking korg-verify v0.1.0 (/opt/rustwide/workdir/crates/korg-verify)
[INFO] [stderr]     Checking tokenizers v0.19.1
[INFO] [stderr]     Checking quick-xml v0.39.4
[INFO] [stderr]     Checking crossterm v0.27.0
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking axum-core v0.4.5
[INFO] [stderr]     Checking fancy-regex v0.16.2
[INFO] [stderr]    Compiling libmimalloc-sys v0.1.48
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]    Compiling axum-macros v0.4.2
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]     Checking http-range-header v0.4.2
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]     Checking tower-http v0.5.2
[INFO] [stderr]    Compiling pyo3 v0.22.6
[INFO] [stderr]     Checking plist v1.9.0
[INFO] [stderr]    Migrating crates/korg-verify/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]     Checking unindent v0.2.4
[INFO] [stderr]     Checking symlink v0.1.0
[INFO] [stderr]     Checking candle-nn v0.8.4
[INFO] [stderr]     Checking strum v0.25.0
[INFO] [stderr]     Checking tracing-appender v0.2.5
[INFO] [stderr]    Migrating crates/korg-verify/src/main.rs from 2021 edition to 2024
[INFO] [stderr]     Checking ratatui v0.24.0
[INFO] [stderr]     Checking hyper v1.9.0
[INFO] [stderr]     Checking syntect v5.3.0
[INFO] [stderr]     Checking ureq v2.12.1
[INFO] [stderr]     Checking candle-transformers v0.8.4
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]    Migrating crates/korg-verify/tests/conformance.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/korg-registry/tests/conformance.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/korg-verify/tests/receipt.rs from 2021 edition to 2024
[INFO] [stderr]     Checking mimalloc v0.1.51
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]    Compiling pyo3-macros v0.22.6
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking axum v0.7.9
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]    Migrating crates/korg-verify/tests/goldseal.rs from 2021 edition to 2024
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]    Migrating crates/korg-verify/tests/event_sig.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/korg-verify/tests/fuzz.rs from 2021 edition to 2024
[INFO] [stderr]     Checking korg-llm v0.1.0 (/opt/rustwide/workdir/crates/korg-llm)
[INFO] [stderr]    Migrating crates/korg-llm/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking pythonize v0.22.0
[INFO] [stderr]     Checking oauth2 v4.4.2
[INFO] [stderr]     Checking hf-hub v0.3.2
[INFO] [stderr]     Checking korg-bridge v0.3.3 (/opt/rustwide/workdir/crates/korg-bridge)
[INFO] [stderr]     Checking korg-auth v0.1.0 (/opt/rustwide/workdir/crates/korg-auth)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-llm/src/lib.rs:296:27
[INFO] [stdout]     |
[INFO] [stdout] 296 |                     match stream.next().await {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                           |             |
[INFO] [stdout]     |                           |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 297 |                         Some(Ok(bytes)) => {
[INFO] [stdout]     |                                 -----
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `bytes` calls a custom destructor
[INFO] [stdout]     |                                 `bytes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 300 |                         Some(Err(e)) => {
[INFO] [stdout]     |                                  -
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `e` calls a custom destructor
[INFO] [stdout]     |                                  `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 323 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bytes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/korg-llm/src/lib.rs:1228:19
[INFO] [stdout]      |
[INFO] [stdout] 1228 |             match candidate.provider.complete_stream(req.clone()).await {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                   |                                               |
[INFO] [stdout]      |                   |                                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                   |                                               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   |                                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   |                                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   `__awaitee` calls a custom destructor
[INFO] [stdout]      |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1237 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/korg-llm/src/lib.rs:1576:19
[INFO] [stdout]      |
[INFO] [stdout] 1572 |                 tokio::time::sleep(delay).await;
[INFO] [stdout]      |                 -------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `__awaitee` calls a custom destructor
[INFO] [stdout]      |                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1576 |             match self.inner.complete_stream(req.clone()).await {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                   |                                       |
[INFO] [stdout]      |                   |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                   |                                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   |                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                   |                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1586 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-llm/src/lib.rs:296:27
[INFO] [stdout]     |
[INFO] [stdout] 296 |                     match stream.next().await {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                           |             |
[INFO] [stdout]     |                           |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 297 |                         Some(Ok(bytes)) => {
[INFO] [stdout]     |                                 -----
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 `bytes` calls a custom destructor
[INFO] [stdout]     |                                 `bytes` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 300 |                         Some(Err(e)) => {
[INFO] [stdout]     |                                  -
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  `e` calls a custom destructor
[INFO] [stdout]     |                                  `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 323 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `bytes` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/korg-llm/src/lib.rs:1228:19
[INFO] [stdout]      |
[INFO] [stdout] 1228 |             match candidate.provider.complete_stream(req.clone()).await {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                   |                                               |
[INFO] [stdout]      |                   |                                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                   |                                               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   |                                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   |                                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   `__awaitee` calls a custom destructor
[INFO] [stdout]      |                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1237 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/korg-bridge/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/korg-llm/src/lib.rs:1576:19
[INFO] [stdout]      |
[INFO] [stdout] 1572 |                 tokio::time::sleep(delay).await;
[INFO] [stdout]      |                 -------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `__awaitee` calls a custom destructor
[INFO] [stdout]      |                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1576 |             match self.inner.complete_stream(req.clone()).await {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                   |                                       |
[INFO] [stdout]      |                   |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                   |                                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   |                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                   |                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                   up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1586 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.17/src/lib.rs:1317:9
[INFO] [stdout]      |
[INFO] [stdout] 1317 | /         impl $(<
[INFO] [stdout] 1318 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1319 | |             $( $generics
[INFO] [stdout] 1320 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1323 | |             ),*
[INFO] [stdout] 1324 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: errors present after applying fixes to crate `korg_bridge`
[INFO] [stderr]  --> crates/korg-bridge/src/lib.rs
[INFO] [stderr]   = cause: error: expected item, found `{`
[INFO] [stderr]              --> crates/korg-bridge/src/lib.rs:60:1
[INFO] [stderr]               |
[INFO] [stderr]            60 | { unsafe #[pymethods]}
[INFO] [stderr]               | ^ expected item
[INFO] [stderr]               |
[INFO] [stderr]               = note: for a full list of items that can appear in modules, see <https://doc.rust-lang.org/reference/items.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 1 previous error
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> crates/korg-bridge/src/lib.rs:77:23
[INFO] [stdout]    |
[INFO] [stdout] 77 |         journal_path: PathBuf,
[INFO] [stdout]    |                       ^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:117:27
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn record_user_prompt(&self, prompt: &str) -> PyResult<u64> {
[INFO] [stdout]     |                           ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:117:42
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn record_user_prompt(&self, prompt: &str) -> PyResult<u64> {
[INFO] [stdout]     |                                          ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 157 |         &self,
[INFO] [stdout]     |         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:158:16
[INFO] [stdout]     |
[INFO] [stdout] 158 |         model: &str,
[INFO] [stdout]     |                ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:159:24
[INFO] [stdout]     |
[INFO] [stdout] 159 |         prompt_tokens: u64,
[INFO] [stdout]     |                        ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:160:28
[INFO] [stdout]     |
[INFO] [stdout] 160 |         completion_tokens: u64,
[INFO] [stdout]     |                            ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:161:22
[INFO] [stdout]     |
[INFO] [stdout] 161 |         duration_ms: u64,
[INFO] [stdout]     |                      ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |         &self,
[INFO] [stdout]     |         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:236:23
[INFO] [stdout]     |
[INFO] [stdout] 236 |         source_agent: &str,
[INFO] [stdout]     |                       ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:237:20
[INFO] [stdout]     |
[INFO] [stdout] 237 |         tool_name: &str,
[INFO] [stdout]     |                    ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:238:15
[INFO] [stdout]     |
[INFO] [stdout] 238 |         args: &Bound<'_, PyAny>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:239:17
[INFO] [stdout]     |
[INFO] [stdout] 239 |         result: &Bound<'_, PyAny>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:240:18
[INFO] [stdout]     |
[INFO] [stdout] 240 |         success: bool,
[INFO] [stdout]     |                  ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:241:22
[INFO] [stdout]     |
[INFO] [stdout] 241 |         duration_ms: u64,
[INFO] [stdout]     |                      ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:263:20
[INFO] [stdout]     |
[INFO] [stdout] 263 |     fn last_seq_id(&self) -> PyResult<u64> {
[INFO] [stdout]     |                    ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout]  60 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:274:14
[INFO] [stdout]     |
[INFO] [stdout] 274 |     fn flush(&self) -> PyResult<()> {
[INFO] [stdout]     |              ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout]  60 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:282:17
[INFO] [stdout]     |
[INFO] [stdout] 282 |     fn __repr__(&self) -> PyResult<String> {
[INFO] [stdout]     |                 ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout]  60 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/korg-auth/src/lib.rs from 2021 edition to 2024
[INFO] [stderr] error: errors present after applying fixes to crate `korg_bridge`
[INFO] [stderr]  --> crates/korg-bridge/src/lib.rs
[INFO] [stderr]   = cause: error: expected item, found `{`
[INFO] [stderr]              --> crates/korg-bridge/src/lib.rs:60:1
[INFO] [stderr]               |
[INFO] [stderr]            60 | { unsafe #[pymethods]}
[INFO] [stderr]               | ^ expected item
[INFO] [stderr]               |
[INFO] [stderr]               = note: for a full list of items that can appear in modules, see <https://doc.rust-lang.org/reference/items.html>
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 1 previous error
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> crates/korg-bridge/src/lib.rs:77:23
[INFO] [stdout]    |
[INFO] [stdout] 77 |         journal_path: PathBuf,
[INFO] [stdout]    |                       ^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: `--force-warn unsafe-op-in-unsafe-fn` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:117:27
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn record_user_prompt(&self, prompt: &str) -> PyResult<u64> {
[INFO] [stdout]     |                           ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:117:42
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn record_user_prompt(&self, prompt: &str) -> PyResult<u64> {
[INFO] [stdout]     |                                          ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 157 |         &self,
[INFO] [stdout]     |         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:158:16
[INFO] [stdout]     |
[INFO] [stdout] 158 |         model: &str,
[INFO] [stdout]     |                ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:159:24
[INFO] [stdout]     |
[INFO] [stdout] 159 |         prompt_tokens: u64,
[INFO] [stdout]     |                        ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:160:28
[INFO] [stdout]     |
[INFO] [stdout] 160 |         completion_tokens: u64,
[INFO] [stdout]     |                            ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:161:22
[INFO] [stdout]     |
[INFO] [stdout] 161 |         duration_ms: u64,
[INFO] [stdout]     |                      ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |         &self,
[INFO] [stdout]     |         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:236:23
[INFO] [stdout]     |
[INFO] [stdout] 236 |         source_agent: &str,
[INFO] [stdout]     |                       ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:237:20
[INFO] [stdout]     |
[INFO] [stdout] 237 |         tool_name: &str,
[INFO] [stdout]     |                    ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:238:15
[INFO] [stdout]     |
[INFO] [stdout] 238 |         args: &Bound<'_, PyAny>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:239:17
[INFO] [stdout]     |
[INFO] [stdout] 239 |         result: &Bound<'_, PyAny>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:240:18
[INFO] [stdout]     |
[INFO] [stdout] 240 |         success: bool,
[INFO] [stdout]     |                  ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:241:22
[INFO] [stdout]     |
[INFO] [stdout] 241 |         duration_ms: u64,
[INFO] [stdout]     |                      ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:263:20
[INFO] [stdout]     |
[INFO] [stdout] 263 |     fn last_seq_id(&self) -> PyResult<u64> {
[INFO] [stdout]     |                    ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout]  60 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:274:14
[INFO] [stdout]     |
[INFO] [stdout] 274 |     fn flush(&self) -> PyResult<()> {
[INFO] [stdout]     |              ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout]  60 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:282:17
[INFO] [stdout]     |
[INFO] [stdout] 282 |     fn __repr__(&self) -> PyResult<String> {
[INFO] [stdout]     |                 ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout]  60 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr]        Fixed crates/korg-auth/src/providers.rs (1 fix)
[INFO] [stderr]        Fixed crates/korg-auth/src/store.rs (1 fix)
[INFO] [stderr]     Checking korg-embeddings v0.1.0 (/opt/rustwide/workdir/crates/korg-embeddings)
[INFO] [stderr]    Migrating crates/korg-embeddings/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-embeddings/src/lib.rs:173:38
[INFO] [stdout]     |
[INFO] [stdout] 157 |                 let api = Api::new()?;
[INFO] [stdout]     |                     ---
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `api` calls a custom destructor
[INFO] [stdout]     |                     `api` will be dropped later as of Edition 2024
[INFO] [stdout] 158 |                 let repo = api.model(MODEL_ID.to_string());
[INFO] [stdout]     |                     ----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `repo` calls a custom destructor
[INFO] [stdout]     |                     `repo` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 173 |                 if let Ok(entries) = std::fs::read_dir(&hub) {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 180 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: `api` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `api` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ureq-2.12.1/src/stream.rs:320:1
[INFO] [stdout]     |
[INFO] [stdout] 320 | impl Drop for Stream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `repo` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `repo` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ureq-2.12.1/src/stream.rs:320:1
[INFO] [stdout]     |
[INFO] [stdout] 320 | impl Drop for Stream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-embeddings/src/lib.rs:173:38
[INFO] [stdout]     |
[INFO] [stdout] 157 |                 let api = Api::new()?;
[INFO] [stdout]     |                     ---
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `api` calls a custom destructor
[INFO] [stdout]     |                     `api` will be dropped later as of Edition 2024
[INFO] [stdout] 158 |                 let repo = api.model(MODEL_ID.to_string());
[INFO] [stdout]     |                     ----
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `repo` calls a custom destructor
[INFO] [stdout]     |                     `repo` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 173 |                 if let Ok(entries) = std::fs::read_dir(&hub) {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 180 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]     = note: `api` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `api` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ureq-2.12.1/src/stream.rs:320:1
[INFO] [stdout]     |
[INFO] [stdout] 320 | impl Drop for Stream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `repo` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `repo` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ureq-2.12.1/src/stream.rs:320:1
[INFO] [stdout]     |
[INFO] [stdout] 320 | impl Drop for Stream {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking korg-runtime v0.1.0 (/opt/rustwide/workdir/crates/korg-runtime)
[INFO] [stderr]    Migrating crates/korg-runtime/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed crates/korg-runtime/src/tools.rs (2 fixes)
[INFO] [stderr]        Fixed crates/korg-runtime/src/leader.rs (1 fix)
[INFO] [stderr]        Fixed crates/korg-runtime/src/agent.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/acp.rs:304:84
[INFO] [stdout]     |
[INFO] [stdout] 303 |             let mut stdout = tokio::io::stdout();
[INFO] [stdout]     |                 ----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `stdout` calls a custom destructor
[INFO] [stdout]     |                 `stdout` will be dropped later as of Edition 2024
[INFO] [stdout] 304 |             write_signed_acp_envelope(&mut stdout, &self.signing_key, msg.clone()).await
[INFO] [stdout]     |                                                                                    ^^^^^
[INFO] [stdout]     |                                                                                    |
[INFO] [stdout]     |                                                                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 305 |         } else {
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `stdout` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/korg-runtime/src/agent.rs:1073:24
[INFO] [stdout]      |
[INFO] [stdout] 1064 |     let mut cmd = tokio::process::Command::new("grep");
[INFO] [stdout]      |         -------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `cmd` calls a custom destructor
[INFO] [stdout]      |         `cmd` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1073 |     match cmd.output().await {
[INFO] [stdout]      |                        ^^^^^
[INFO] [stdout]      |                        |
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1104 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]      = note: `cmd` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/personas.rs:518:41
[INFO] [stdout]     |
[INFO] [stdout] 499 |     let mut lp = LlmPersona::new(persona, provider);
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `lp` calls a custom destructor
[INFO] [stdout]     |         `lp` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 518 |     match lp.think(payload, routing_id).await {
[INFO] [stdout]     |                                         ^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 537 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `lp` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/arena.rs:103:35
[INFO] [stdout]     |
[INFO] [stdout] 103 |     while let Some(join_result) = join_set.join_next().await {
[INFO] [stdout]     |                    -----------    ^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                    |              |                    |
[INFO] [stdout]     |                    |              |                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                    |              |                    up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |              |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |              |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    |              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    |              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |              `__awaitee` calls a custom destructor
[INFO] [stdout]     |                    |              `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    `join_result` calls a custom destructor
[INFO] [stdout]     |                    `join_result` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 127 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `join_result` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/execution/recovery.rs:222:46
[INFO] [stdout]     |
[INFO] [stdout] 220 |             let mut cmd = tokio::process::Command::new("bun");
[INFO] [stdout]     |                 -------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `cmd` calls a custom destructor
[INFO] [stdout]     |                 `cmd` will be dropped later as of Edition 2024
[INFO] [stdout] 221 |             cmd.arg("add").arg(&base_pkg).current_dir(path);
[INFO] [stdout] 222 |             if let Ok(output) = cmd.output().await {
[INFO] [stdout]     |                                              ^^^^^
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 234 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `cmd` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/execution/recovery.rs:426:50
[INFO] [stdout]     |
[INFO] [stdout] 424 |                 let mut cmd = tokio::process::Command::new("cargo");
[INFO] [stdout]     |                     -------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `cmd` calls a custom destructor
[INFO] [stdout]     |                     `cmd` will be dropped later as of Edition 2024
[INFO] [stdout] 425 |                 cmd.arg("add").arg(crate_name).current_dir(path);
[INFO] [stdout] 426 |                 if let Ok(output) = cmd.output().await {
[INFO] [stdout]     |                                                  ^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 438 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `cmd` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/execution/dag.rs:345:23
[INFO] [stdout]     |
[INFO] [stdout] 344 |             for t in tasks {
[INFO] [stdout]     |                      -----
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      `iter` calls a custom destructor
[INFO] [stdout]     |                      `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 345 |                 match t.await {
[INFO] [stdout]     |                       ^^-----
[INFO] [stdout]     |                       | |
[INFO] [stdout]     |                       | this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                       | up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       | this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       | `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 350 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/korg-runtime/src/execution/pool.rs:282:29
[INFO] [stdout]      |
[INFO] [stdout]  272 |             let manager = SandboxPool {
[INFO] [stdout]      |                 -------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `manager` calls a custom destructor
[INFO] [stdout]      |                 `manager` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  282 |             if let Err(e) = manager.replenish_all().await {
[INFO] [stdout]      |                             ^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                             |                       |
[INFO] [stdout]      |                             |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                             |                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  285 |         });
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `manager` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `manager` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/process/mod.rs:1123:1
[INFO] [stdout]      |
[INFO] [stdout] 1123 | impl<T: Kill> Drop for ChildDropGuard<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/korg-runtime/src/execution/pool.rs:282:53
[INFO] [stdout]      |
[INFO] [stdout]  272 |             let manager = SandboxPool {
[INFO] [stdout]      |                 -------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `manager` calls a custom destructor
[INFO] [stdout]      |                 `manager` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  282 |             if let Err(e) = manager.replenish_all().await {
[INFO] [stdout]      |                                                     ^^^^^
[INFO] [stdout]      |                                                     |
[INFO] [stdout]      |                                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  285 |         });
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `manager` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `manager` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/process/mod.rs:1123:1
[INFO] [stdout]      |
[INFO] [stdout] 1123 | impl<T: Kill> Drop for ChildDropGuard<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/harness.rs:134:48
[INFO] [stdout]     |
[INFO] [stdout] 119 |                         let mut real_client = AcpClient::new_stdio(&worker_id, worker_signing_key);
[INFO] [stdout]     |                             ---------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `real_client` calls a custom destructor
[INFO] [stdout]     |                             `real_client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 134 |                         if let Ok(extra_env) = crate::acp::read_acp_envelope(&mut reader).await {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                                |                                          |
[INFO] [stdout]     |                                                |                                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                |                                          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 152 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `real_client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/signing.rs:659:1
[INFO] [stdout]     |
[INFO] [stdout] 659 | impl Drop for SigningKey {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/harness.rs:166:75
[INFO] [stdout]     |
[INFO] [stdout] 163 |                         let mut real_client = AcpClient::new_stdio(&worker_id, worker_signing_key);
[INFO] [stdout]     |                             ---------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `real_client` calls a custom destructor
[INFO] [stdout]     |                             `real_client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 166 |                             crate::tools::dispatch_tool(tool, &worker_id).await
[INFO] [stdout]     |                                                                           ^^^^^
[INFO] [stdout]     |                                                                           |
[INFO] [stdout]     |                                                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 171 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `real_client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/signing.rs:659:1
[INFO] [stdout]     |
[INFO] [stdout] 659 | impl Drop for SigningKey {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/harness.rs:134:91
[INFO] [stdout]     |
[INFO] [stdout] 119 |                         let mut real_client = AcpClient::new_stdio(&worker_id, worker_signing_key);
[INFO] [stdout]     |                             ---------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `real_client` calls a custom destructor
[INFO] [stdout]     |                             `real_client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 134 |                         if let Ok(extra_env) = crate::acp::read_acp_envelope(&mut reader).await {
[INFO] [stdout]     |                                                                                           ^^^^^
[INFO] [stdout]     |                                                                                           |
[INFO] [stdout]     |                                                                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 152 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `real_client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/signing.rs:659:1
[INFO] [stdout]     |
[INFO] [stdout] 659 | impl Drop for SigningKey {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/korg-runtime/src/leader.rs:1928:41
[INFO] [stdout]      |
[INFO] [stdout] 1928 |             while let Ok(Some(entry)) = read_dir.next_entry().await {
[INFO] [stdout]      |                               -----     ^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                               |         |                     |
[INFO] [stdout]      |                               |         |                     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                               |         |                     up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                               |         |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                               |         |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                               |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                               |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                               |         `__awaitee` calls a custom destructor
[INFO] [stdout]      |                               |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                               `entry` calls a custom destructor
[INFO] [stdout]      |                               `entry` will be dropped later as of Edition 2024
[INFO] [stdout] 1929 |                 if let Ok(content) = tokio::fs::read_to_string(entry.path()).await {
[INFO] [stdout]      |                                      ---------------------------------------------
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                      `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1941 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/korg-runtime/src/leader.rs:2909:49
[INFO] [stdout]      |
[INFO] [stdout] 2908 |         for t in eval_tasks {
[INFO] [stdout]      |                  ----------
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 2909 |             if let Ok((worker_res, eval_res)) = t.await {
[INFO] [stdout]      |                                                 ^^-----
[INFO] [stdout]      |                                                 | |
[INFO] [stdout]      |                                                 | this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                                 | up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                                 | this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                                 | `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                                 `__awaitee` calls a custom destructor
[INFO] [stdout]      |                                                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2926 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]      |
[INFO] [stdout]  357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]      |
[INFO] [stdout]  357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]      |
[INFO] [stdout]  357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/korg-runtime/src/leader.rs:3200:45
[INFO] [stdout]      |
[INFO] [stdout] 3199 |             if let Ok(mut entries) = tokio::fs::read_dir(ktrans_dir).await {
[INFO] [stdout]      |                       -----------    -------------------------------------
[INFO] [stdout]      |                       |              |                               |
[INFO] [stdout]      |                       |              |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                       |              |                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       |              `__awaitee` calls a custom destructor
[INFO] [stdout]      |                       |              `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       `entries` calls a custom destructor
[INFO] [stdout]      |                       `entries` will be dropped later as of Edition 2024
[INFO] [stdout] 3200 |                 while let Ok(Some(entry)) = entries.next_entry().await {
[INFO] [stdout]      |                                   -----     ^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                                   |         |                    |
[INFO] [stdout]      |                                   |         |                    this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                   |         |                    up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                   |         |                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                   |         |                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                   |         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                   |         up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                   |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                   |         `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                   `entry` calls a custom destructor
[INFO] [stdout]      |                                   `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 3203 |                         if let Ok(content) = tokio::fs::read_to_string(entry.path()).await {
[INFO] [stdout]      |                                              ---------------------------------------------
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                              `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 3231 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]      |
[INFO] [stdout]  357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entries` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]      |
[INFO] [stdout]  357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `entries` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/korg-runtime/src/leader.rs:3200:45
[INFO] [stdout]      |
[INFO] [stdout] 3200 |                 while let Ok(Some(entry)) = entries.next_entry().await {
[INFO] [stdout]      |                                   -----     ^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                                   |         |                    |
[INFO] [stdout]      |                                   |         |                    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                   |         |                    up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                   |         |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                   |         |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                   |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                   |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                   |         `__awaitee` calls a custom destructor
[INFO] [stdout]      |                                   |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                   `entry` calls a custom destructor
[INFO] [stdout]      |                                   `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 3203 |                         if let Ok(content) = tokio::fs::read_to_string(entry.path()).await {
[INFO] [stdout]      |                                              ---------------------------------------------
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                              `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 3231 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/personas.rs:546:41
[INFO] [stdout]     |
[INFO] [stdout] 545 |     let lp = LlmPersona::new(persona, provider);
[INFO] [stdout]     |         --
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `lp` calls a custom destructor
[INFO] [stdout]     |         `lp` will be dropped later as of Edition 2024
[INFO] [stdout] 546 |     match lp.think(payload, routing_id).await {
[INFO] [stdout]     |                                         ^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 565 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `lp` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/workers.rs:145:38
[INFO] [stdout]     |
[INFO] [stdout] 144 |                 let mut wm = coordinator.workspace_manager.lock().await;
[INFO] [stdout]     |                     ------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `wm` calls a custom destructor
[INFO] [stdout]     |                     `wm` will be dropped later as of Edition 2024
[INFO] [stdout] 145 |                 wm.provision(&ws_id).await
[INFO] [stdout]     |                                      ^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 146 |             };
[INFO] [stdout]     |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `wm` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/workers.rs:174:29
[INFO] [stdout]     |
[INFO] [stdout] 173 |             let mut wm = coordinator.workspace_manager.lock().await;
[INFO] [stdout]     |                 ------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `wm` calls a custom destructor
[INFO] [stdout]     |                 `wm` will be dropped later as of Edition 2024
[INFO] [stdout] 174 |             if let Err(e) = wm.attach_worker(&ws_id, pkg.routing_id.clone()) {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 178 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `wm` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/workers.rs:500:60
[INFO] [stdout]     |
[INFO] [stdout] 499 |         let mut wm = coordinator.workspace_manager.lock().await;
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `wm` calls a custom destructor
[INFO] [stdout]     |             `wm` will be dropped later as of Edition 2024
[INFO] [stdout] 500 |         wm.cleanup_all_for_session(coordinator.session_id).await
[INFO] [stdout]     |                                                            ^^^^^
[INFO] [stdout]     |                                                            |
[INFO] [stdout]     |                                                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 501 |     };
[INFO] [stdout]     |      - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `wm` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/workspace.rs:463:29
[INFO] [stdout]     |
[INFO] [stdout] 463 |             if let Err(e) = self.destroy_workspace(&id).await {
[INFO] [stdout]     |                        -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                        |    |                           |
[INFO] [stdout]     |                        |    |                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        |    |                           up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        |    |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |    |                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        |    `__awaitee` calls a custom destructor
[INFO] [stdout]     |                        |    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        `e` calls a custom destructor
[INFO] [stdout]     |                        `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 466 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/korg-runtime/src/leader.rs:2534:50
[INFO] [stdout]      |
[INFO] [stdout] 2524 |             for entry in paths {
[INFO] [stdout]      |                 -----    -----
[INFO] [stdout]      |                 |        |
[INFO] [stdout]      |                 |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                 |        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                 `entry` calls a custom destructor
[INFO] [stdout]      |                 `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2534 |                         if let Ok(sub_entries) = std::fs::read_dir(&path) {
[INFO] [stdout]      |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                                  up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2538 |                             for sub_entry in sub_paths {
[INFO] [stdout]      |                                 ---------    ---------
[INFO] [stdout]      |                                 |            |
[INFO] [stdout]      |                                 |            `iter` calls a custom destructor
[INFO] [stdout]      |                                 |            `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                 |            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                 |            `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                 `sub_entry` calls a custom destructor
[INFO] [stdout]      |                                 `sub_entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2543 |                     }
[INFO] [stdout]      |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `sub_entry` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/session.rs:448:23
[INFO] [stdout]     |
[INFO] [stdout] 448 |                   match crate::acp::read_acp_envelope(&mut reader).await {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                         |                                          |
[INFO] [stdout]     |                         |                                          this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                         |                                          up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         |                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         |                                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                         up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 451 |                           let verified = tokio::task::spawn_blocking(move || {
[INFO] [stdout]     |  ________________________________________-
[INFO] [stdout] 452 | |                             crate::acp::verify_envelope(&env_clone).unwrap_or(false)
[INFO] [stdout] 453 | |                         })
[INFO] [stdout] 454 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |                          |   |
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                            |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                            `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 458 |                           let _ = tx_out
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout]     | |_________________________________|
[INFO] [stdout] 459 | |                             .send(WorkerEvent::AcpMsg {
[INFO] [stdout] 460 | |                                 message: envelope.payload.clone(),
[INFO] [stdout] 461 | |                                 verified,
[INFO] [stdout] 462 | |                             })
[INFO] [stdout] 463 | |                             .await;
[INFO] [stdout]     | |                                  -
[INFO] [stdout]     | |__________________________________|
[INFO] [stdout]     | |__________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                    `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 468 | |                                 let _ = tx_out.send(WorkerEvent::completed(code)).await;
[INFO] [stdout]     | |                                         -----------------------------------------------
[INFO] [stdout]     | |                                         |
[INFO] [stdout]     | |                                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 484 | |                                 let _ = tx_out.send(event).await;
[INFO] [stdout]     | |                                         ------------------------
[INFO] [stdout]     | |                                         |
[INFO] [stdout]     | |                                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                                         `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 489 |                                       let _ = tx_out
[INFO] [stdout]     |  _____________________________________________-
[INFO] [stdout]     | |_____________________________________________|
[INFO] [stdout] 490 | |                                         .send(WorkerEvent::Stdout {
[INFO] [stdout] 491 | |                                             line,
[INFO] [stdout] 492 | |                                             ts: Utc::now(),
[INFO] [stdout] 493 | |                                         })
[INFO] [stdout] 494 | |                                         .await;
[INFO] [stdout]     | |                                              -
[INFO] [stdout]     | |______________________________________________|
[INFO] [stdout]     | |______________________________________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                                `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 501 | |                         let _ = tx_out.send(WorkerEvent::completed(-1)).await;
[INFO] [stdout]     | |                                 ---------------------------------------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |                                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 505 | |             }
[INFO] [stdout]     | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking korg-tui v0.1.0 (/opt/rustwide/workdir/crates/korg-tui)
[INFO] [stderr]     Checking korg-server v0.1.0 (/opt/rustwide/workdir/crates/korg-server)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/acp.rs:304:84
[INFO] [stdout]     |
[INFO] [stdout] 303 |             let mut stdout = tokio::io::stdout();
[INFO] [stdout]     |                 ----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `stdout` calls a custom destructor
[INFO] [stdout]     |                 `stdout` will be dropped later as of Edition 2024
[INFO] [stdout] 304 |             write_signed_acp_envelope(&mut stdout, &self.signing_key, msg.clone()).await
[INFO] [stdout]     |                                                                                    ^^^^^
[INFO] [stdout]     |                                                                                    |
[INFO] [stdout]     |                                                                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                                    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 305 |         } else {
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `stdout` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/korg-tui/src/lib.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/korg-runtime/src/agent.rs:1073:24
[INFO] [stdout]      |
[INFO] [stdout] 1064 |     let mut cmd = tokio::process::Command::new("grep");
[INFO] [stdout]      |         -------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `cmd` calls a custom destructor
[INFO] [stdout]      |         `cmd` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1073 |     match cmd.output().await {
[INFO] [stdout]      |                        ^^^^^
[INFO] [stdout]      |                        |
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1104 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]      = note: `cmd` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/personas.rs:518:41
[INFO] [stdout]     |
[INFO] [stdout] 499 |     let mut lp = LlmPersona::new(persona, provider);
[INFO] [stdout]     |         ------
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `lp` calls a custom destructor
[INFO] [stdout]     |         `lp` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 518 |     match lp.think(payload, routing_id).await {
[INFO] [stdout]     |                                         ^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 537 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `lp` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/arena.rs:103:35
[INFO] [stdout]     |
[INFO] [stdout] 103 |     while let Some(join_result) = join_set.join_next().await {
[INFO] [stdout]     |                    -----------    ^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                    |              |                    |
[INFO] [stdout]     |                    |              |                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                    |              |                    up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |              |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |              |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    |              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                    |              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    |              `__awaitee` calls a custom destructor
[INFO] [stdout]     |                    |              `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                    `join_result` calls a custom destructor
[INFO] [stdout]     |                    `join_result` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 127 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `join_result` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/execution/recovery.rs:222:46
[INFO] [stdout]     |
[INFO] [stdout] 220 |             let mut cmd = tokio::process::Command::new("bun");
[INFO] [stdout]     |                 -------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `cmd` calls a custom destructor
[INFO] [stdout]     |                 `cmd` will be dropped later as of Edition 2024
[INFO] [stdout] 221 |             cmd.arg("add").arg(&base_pkg).current_dir(path);
[INFO] [stdout] 222 |             if let Ok(output) = cmd.output().await {
[INFO] [stdout]     |                                              ^^^^^
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                              up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 234 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `cmd` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/execution/recovery.rs:426:50
[INFO] [stdout]     |
[INFO] [stdout] 424 |                 let mut cmd = tokio::process::Command::new("cargo");
[INFO] [stdout]     |                     -------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `cmd` calls a custom destructor
[INFO] [stdout]     |                     `cmd` will be dropped later as of Edition 2024
[INFO] [stdout] 425 |                 cmd.arg("add").arg(crate_name).current_dir(path);
[INFO] [stdout] 426 |                 if let Ok(output) = cmd.output().await {
[INFO] [stdout]     |                                                  ^^^^^
[INFO] [stdout]     |                                                  |
[INFO] [stdout]     |                                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                  up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 438 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]     = note: `cmd` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `cmd` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/execution/dag.rs:345:23
[INFO] [stdout]     |
[INFO] [stdout] 344 |             for t in tasks {
[INFO] [stdout]     |                      -----
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      `iter` calls a custom destructor
[INFO] [stdout]     |                      `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 345 |                 match t.await {
[INFO] [stdout]     |                       ^^-----
[INFO] [stdout]     |                       | |
[INFO] [stdout]     |                       | this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                       | up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       | this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       | `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 350 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/korg-runtime/src/execution/pool.rs:282:29
[INFO] [stdout]      |
[INFO] [stdout]  272 |             let manager = SandboxPool {
[INFO] [stdout]      |                 -------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `manager` calls a custom destructor
[INFO] [stdout]      |                 `manager` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  282 |             if let Err(e) = manager.replenish_all().await {
[INFO] [stdout]      |                             ^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                             |                       |
[INFO] [stdout]      |                             |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                             |                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  285 |         });
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `manager` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `manager` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/process/mod.rs:1123:1
[INFO] [stdout]      |
[INFO] [stdout] 1123 | impl<T: Kill> Drop for ChildDropGuard<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/korg-runtime/src/execution/pool.rs:282:53
[INFO] [stdout]      |
[INFO] [stdout]  272 |             let manager = SandboxPool {
[INFO] [stdout]      |                 -------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `manager` calls a custom destructor
[INFO] [stdout]      |                 `manager` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  282 |             if let Err(e) = manager.replenish_all().await {
[INFO] [stdout]      |                                                     ^^^^^
[INFO] [stdout]      |                                                     |
[INFO] [stdout]      |                                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  285 |         });
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `manager` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/io/poll_evented.rs:312:1
[INFO] [stdout]      |
[INFO] [stdout]  312 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `manager` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/process/mod.rs:1123:1
[INFO] [stdout]      |
[INFO] [stdout] 1123 | impl<T: Kill> Drop for ChildDropGuard<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/harness.rs:134:48
[INFO] [stdout]     |
[INFO] [stdout] 119 |                         let mut real_client = AcpClient::new_stdio(&worker_id, worker_signing_key);
[INFO] [stdout]     |                             ---------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `real_client` calls a custom destructor
[INFO] [stdout]     |                             `real_client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 134 |                         if let Ok(extra_env) = crate::acp::read_acp_envelope(&mut reader).await {
[INFO] [stdout]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                                |                                          |
[INFO] [stdout]     |                                                |                                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                |                                          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 152 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `real_client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/signing.rs:659:1
[INFO] [stdout]     |
[INFO] [stdout] 659 | impl Drop for SigningKey {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/harness.rs:166:75
[INFO] [stdout]     |
[INFO] [stdout] 163 |                         let mut real_client = AcpClient::new_stdio(&worker_id, worker_signing_key);
[INFO] [stdout]     |                             ---------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `real_client` calls a custom destructor
[INFO] [stdout]     |                             `real_client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 166 |                             crate::tools::dispatch_tool(tool, &worker_id).await
[INFO] [stdout]     |                                                                           ^^^^^
[INFO] [stdout]     |                                                                           |
[INFO] [stdout]     |                                                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 171 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `real_client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/signing.rs:659:1
[INFO] [stdout]     |
[INFO] [stdout] 659 | impl Drop for SigningKey {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/harness.rs:134:91
[INFO] [stdout]     |
[INFO] [stdout] 119 |                         let mut real_client = AcpClient::new_stdio(&worker_id, worker_signing_key);
[INFO] [stdout]     |                             ---------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             `real_client` calls a custom destructor
[INFO] [stdout]     |                             `real_client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 134 |                         if let Ok(extra_env) = crate::acp::read_acp_envelope(&mut reader).await {
[INFO] [stdout]     |                                                                                           ^^^^^
[INFO] [stdout]     |                                                                                           |
[INFO] [stdout]     |                                                                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                                           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 152 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `real_client` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/signing.rs:659:1
[INFO] [stdout]     |
[INFO] [stdout] 659 | impl Drop for SigningKey {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/korg-runtime/src/leader.rs:1928:41
[INFO] [stdout]      |
[INFO] [stdout] 1928 |             while let Ok(Some(entry)) = read_dir.next_entry().await {
[INFO] [stdout]      |                               -----     ^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                               |         |                     |
[INFO] [stdout]      |                               |         |                     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                               |         |                     up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                               |         |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                               |         |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                               |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                               |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                               |         `__awaitee` calls a custom destructor
[INFO] [stdout]      |                               |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                               `entry` calls a custom destructor
[INFO] [stdout]      |                               `entry` will be dropped later as of Edition 2024
[INFO] [stdout] 1929 |                 if let Ok(content) = tokio::fs::read_to_string(entry.path()).await {
[INFO] [stdout]      |                                      ---------------------------------------------
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                      `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1941 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/korg-runtime/src/leader.rs:2909:49
[INFO] [stdout]      |
[INFO] [stdout] 2908 |         for t in eval_tasks {
[INFO] [stdout]      |                  ----------
[INFO] [stdout]      |                  |
[INFO] [stdout]      |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 2909 |             if let Ok((worker_res, eval_res)) = t.await {
[INFO] [stdout]      |                                                 ^^-----
[INFO] [stdout]      |                                                 | |
[INFO] [stdout]      |                                                 | this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                                 | up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                                 | this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                                 | `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                                 up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                                 `__awaitee` calls a custom destructor
[INFO] [stdout]      |                                                 `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2926 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]      |
[INFO] [stdout]  357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]      |
[INFO] [stdout]  357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]      |
[INFO] [stdout]  357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/korg-runtime/src/leader.rs:3200:45
[INFO] [stdout]      |
[INFO] [stdout] 3199 |             if let Ok(mut entries) = tokio::fs::read_dir(ktrans_dir).await {
[INFO] [stdout]      |                       -----------    -------------------------------------
[INFO] [stdout]      |                       |              |                               |
[INFO] [stdout]      |                       |              |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                       |              |                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       |              `__awaitee` calls a custom destructor
[INFO] [stdout]      |                       |              `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       `entries` calls a custom destructor
[INFO] [stdout]      |                       `entries` will be dropped later as of Edition 2024
[INFO] [stdout] 3200 |                 while let Ok(Some(entry)) = entries.next_entry().await {
[INFO] [stdout]      |                                   -----     ^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                                   |         |                    |
[INFO] [stdout]      |                                   |         |                    this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                   |         |                    up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                   |         |                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                   |         |                    `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                   |         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                   |         up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                   |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                   |         `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                   `entry` calls a custom destructor
[INFO] [stdout]      |                                   `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 3203 |                         if let Ok(content) = tokio::fs::read_to_string(entry.path()).await {
[INFO] [stdout]      |                                              ---------------------------------------------
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                              `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 3231 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]      |
[INFO] [stdout]  357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entries` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]      |
[INFO] [stdout]  357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `entries` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/korg-runtime/src/leader.rs:3200:45
[INFO] [stdout]      |
[INFO] [stdout] 3200 |                 while let Ok(Some(entry)) = entries.next_entry().await {
[INFO] [stdout]      |                                   -----     ^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]      |                                   |         |                    |
[INFO] [stdout]      |                                   |         |                    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                   |         |                    up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                   |         |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                   |         |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                   |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                   |         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                   |         `__awaitee` calls a custom destructor
[INFO] [stdout]      |                                   |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                   `entry` calls a custom destructor
[INFO] [stdout]      |                                   `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 3203 |                         if let Ok(content) = tokio::fs::read_to_string(entry.path()).await {
[INFO] [stdout]      |                                              ---------------------------------------------
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                              `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 3231 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/personas.rs:546:41
[INFO] [stdout]     |
[INFO] [stdout] 545 |     let lp = LlmPersona::new(persona, provider);
[INFO] [stdout]     |         --
[INFO] [stdout]     |         |
[INFO] [stdout]     |         `lp` calls a custom destructor
[INFO] [stdout]     |         `lp` will be dropped later as of Edition 2024
[INFO] [stdout] 546 |     match lp.think(payload, routing_id).await {
[INFO] [stdout]     |                                         ^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 565 | }
[INFO] [stdout]     | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `lp` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/workers.rs:145:38
[INFO] [stdout]     |
[INFO] [stdout] 144 |                 let mut wm = coordinator.workspace_manager.lock().await;
[INFO] [stdout]     |                     ------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `wm` calls a custom destructor
[INFO] [stdout]     |                     `wm` will be dropped later as of Edition 2024
[INFO] [stdout] 145 |                 wm.provision(&ws_id).await
[INFO] [stdout]     |                                      ^^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                      up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 146 |             };
[INFO] [stdout]     |              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `wm` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/workers.rs:174:29
[INFO] [stdout]     |
[INFO] [stdout] 173 |             let mut wm = coordinator.workspace_manager.lock().await;
[INFO] [stdout]     |                 ------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `wm` calls a custom destructor
[INFO] [stdout]     |                 `wm` will be dropped later as of Edition 2024
[INFO] [stdout] 174 |             if let Err(e) = wm.attach_worker(&ws_id, pkg.routing_id.clone()) {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 178 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `wm` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/workers.rs:500:60
[INFO] [stdout]     |
[INFO] [stdout] 499 |         let mut wm = coordinator.workspace_manager.lock().await;
[INFO] [stdout]     |             ------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `wm` calls a custom destructor
[INFO] [stdout]     |             `wm` will be dropped later as of Edition 2024
[INFO] [stdout] 500 |         wm.cleanup_all_for_session(coordinator.session_id).await
[INFO] [stdout]     |                                                            ^^^^^
[INFO] [stdout]     |                                                            |
[INFO] [stdout]     |                                                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 501 |     };
[INFO] [stdout]     |      - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `wm` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mutex.rs:964:1
[INFO] [stdout]     |
[INFO] [stdout] 964 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/workspace.rs:463:29
[INFO] [stdout]     |
[INFO] [stdout] 463 |             if let Err(e) = self.destroy_workspace(&id).await {
[INFO] [stdout]     |                        -    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                        |    |                           |
[INFO] [stdout]     |                        |    |                           this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                        |    |                           up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        |    |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |    |                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        |    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |    up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        |    `__awaitee` calls a custom destructor
[INFO] [stdout]     |                        |    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                        `e` calls a custom destructor
[INFO] [stdout]     |                        `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 466 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/korg-runtime/src/leader.rs:2534:50
[INFO] [stdout]      |
[INFO] [stdout] 2524 |             for entry in paths {
[INFO] [stdout]      |                 -----    -----
[INFO] [stdout]      |                 |        |
[INFO] [stdout]      |                 |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                 |        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                 `entry` calls a custom destructor
[INFO] [stdout]      |                 `entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2534 |                         if let Ok(sub_entries) = std::fs::read_dir(&path) {
[INFO] [stdout]      |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                                  up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2538 |                             for sub_entry in sub_paths {
[INFO] [stdout]      |                                 ---------    ---------
[INFO] [stdout]      |                                 |            |
[INFO] [stdout]      |                                 |            `iter` calls a custom destructor
[INFO] [stdout]      |                                 |            `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                 |            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                 |            `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                 `sub_entry` calls a custom destructor
[INFO] [stdout]      |                                 `sub_entry` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2543 |                     }
[INFO] [stdout]      |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `sub_entry` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> crates/korg-runtime/src/session.rs:448:23
[INFO] [stdout]     |
[INFO] [stdout] 448 |                   match crate::acp::read_acp_envelope(&mut reader).await {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                         |                                          |
[INFO] [stdout]     |                         |                                          this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                         |                                          up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         |                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         |                                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                         up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 451 |                           let verified = tokio::task::spawn_blocking(move || {
[INFO] [stdout]     |  ________________________________________-
[INFO] [stdout] 452 | |                             crate::acp::verify_envelope(&env_clone).unwrap_or(false)
[INFO] [stdout] 453 | |                         })
[INFO] [stdout] 454 | |                         .await
[INFO] [stdout]     | |                          -----
[INFO] [stdout]     | |                          |   |
[INFO] [stdout]     | |__________________________|___this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                            |   `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                            `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 458 |                           let _ = tx_out
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout]     | |_________________________________|
[INFO] [stdout] 459 | |                             .send(WorkerEvent::AcpMsg {
[INFO] [stdout] 460 | |                                 message: envelope.payload.clone(),
[INFO] [stdout] 461 | |                                 verified,
[INFO] [stdout] 462 | |                             })
[INFO] [stdout] 463 | |                             .await;
[INFO] [stdout]     | |                                  -
[INFO] [stdout]     | |__________________________________|
[INFO] [stdout]     | |__________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                    `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 468 | |                                 let _ = tx_out.send(WorkerEvent::completed(code)).await;
[INFO] [stdout]     | |                                         -----------------------------------------------
[INFO] [stdout]     | |                                         |
[INFO] [stdout]     | |                                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 484 | |                                 let _ = tx_out.send(event).await;
[INFO] [stdout]     | |                                         ------------------------
[INFO] [stdout]     | |                                         |
[INFO] [stdout]     | |                                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |                                         `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 489 |                                       let _ = tx_out
[INFO] [stdout]     |  _____________________________________________-
[INFO] [stdout]     | |_____________________________________________|
[INFO] [stdout] 490 | |                                         .send(WorkerEvent::Stdout {
[INFO] [stdout] 491 | |                                             line,
[INFO] [stdout] 492 | |                                             ts: Utc::now(),
[INFO] [stdout] 493 | |                                         })
[INFO] [stdout] 494 | |                                         .await;
[INFO] [stdout]     | |                                              -
[INFO] [stdout]     | |______________________________________________|
[INFO] [stdout]     | |______________________________________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                                `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 501 | |                         let _ = tx_out.send(WorkerEvent::completed(-1)).await;
[INFO] [stdout]     | |                                 ---------------------------------------------
[INFO] [stdout]     | |                                 |
[INFO] [stdout]     | |                                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |                                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 505 | |             }
[INFO] [stdout]     | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/runtime/task/join.rs:357:1
[INFO] [stdout]     |
[INFO] [stdout] 357 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/korg-tui/src/lib.rs:1050:47
[INFO] [stdout]      |
[INFO] [stdout] 1030 |     let (tx, rx) = tokio::sync::mpsc::channel::<TuiUpdate>(128);
[INFO] [stdout]      |          --
[INFO] [stdout]      |          |
[INFO] [stdout]      |          `tx` calls a custom destructor
[INFO] [stdout]      |          `tx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1050 |     run_tui_event_loop(rx, Some(feedback_tx)).await
[INFO] [stdout]      |                                               ^^^^^
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1051 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating crates/korg-runtime/tests/honest_pipeline.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/korg-runtime/tests/live_ollama.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating crates/korg-server/src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed crates/korg-server/src/lib.rs (1 fix)
[INFO] [stderr]    Migrating crates/korg-runtime/tests/run_once.rs from 2021 edition to 2024
[INFO] [stderr]     Checking korg v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating tests/campaign_e2e.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> crates/korg-tui/src/lib.rs:1050:47
[INFO] [stdout]      |
[INFO] [stdout] 1030 |     let (tx, rx) = tokio::sync::mpsc::channel::<TuiUpdate>(128);
[INFO] [stdout]      |          --
[INFO] [stdout]      |          |
[INFO] [stdout]      |          `tx` calls a custom destructor
[INFO] [stdout]      |          `tx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1050 |     run_tui_event_loop(rx, Some(feedback_tx)).await
[INFO] [stdout]      |                                               ^^^^^
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1051 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `tx` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/main.rs (4 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:1421:27
[INFO] [stdout]      |
[INFO] [stdout] 1331 |               let mut leader = LeaderOrchestrator::new(goal_prompt.to_string(), None);
[INFO] [stdout]      |                   ----------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `leader` calls a custom destructor
[INFO] [stdout]      |                   `leader` will be dropped later as of Edition 2024
[INFO] [stdout] 1332 |               leader.goal_mode = true;
[INFO] [stdout] 1333 |               leader.set_cognition_mode("autonomous").await;
[INFO] [stdout]      |               ---------------------------------------------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `__awaitee` calls a custom destructor
[INFO] [stdout]      |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1350 |               match leader.run_full_campaign().await {
[INFO] [stdout]      |                     --------------------------------
[INFO] [stdout]      |                     |                          |
[INFO] [stdout]      |                     |                          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                     |                          `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1355 |                   Err(e) => println!("\n{}❌ Goal campaign failed: {}{}", pink, e, reset),
[INFO] [stdout]      |                       -
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       `e` calls a custom destructor
[INFO] [stdout]      |                       `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1382 |                   let output = tokio::process::Command::new(cmd).args(&args).output().await;
[INFO] [stdout]      |                                ------------------------------------------------------------
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1402 |               korg_runtime::skills::run_reconcile(None).await?;
[INFO] [stdout]      |               ------------------------------------------------
[INFO] [stdout]      |               |                                         |
[INFO] [stdout]      |               |                                         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |               |                                         `#8` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |               `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |               `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1407 |               korg_runtime::skills::run_synthesize().await?;
[INFO] [stdout]      |               ---------------------------------------------
[INFO] [stdout]      |               |                                      |
[INFO] [stdout]      |               |                                      this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      |               |                                      `#11` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |               `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |               `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1413 |               let embedding_model: Box<dyn korg_embeddings::EmbeddingModel> =
[INFO] [stdout]      |                   ---------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `embedding_model` calls a custom destructor
[INFO] [stdout]      |                   `embedding_model` will be dropped later as of Edition 2024
[INFO] [stdout] 1414 |                   match korg_embeddings::CandleEmbeddingModel::load() {
[INFO] [stdout]      |                         ---------------------------------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      |                         `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1418 |               match korg_runtime::code_indexer::index_workspace(".", &*embedding_model).await {
[INFO] [stdout]      |                     -------------------------------------------------------------------------
[INFO] [stdout]      |                     |                                                                   |
[INFO] [stdout]      |                     |                                                                   this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      |                     |                                                                   `#15` will be dropped later as of Edition 2024
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      |                     `#13` will be dropped later as of Edition 2024
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      |                     `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1421 |                       match korg_runtime::code_indexer::save_index(&idx, index_path_str) { Err(e) => {
[INFO] [stdout]      |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^       -
[INFO] [stdout]      |                             |                                                                  |
[INFO] [stdout]      |                             |                                                                  this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      |                             |                                                                  `#16` will be dropped later as of Edition 2024
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]      |                             up until Edition 2021 `#23` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1432 |                   }
[INFO] [stdout]      |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 1433 |                   Err(e) => println!("{}❌ Failed to index workspace: {}{}", pink, e, reset),
[INFO] [stdout]      |                       -
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]      |                       `#17` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1448 |                   let result = korg_runtime::personas::run_persona(
[INFO] [stdout]      |  ______________________________-
[INFO] [stdout] 1449 | |                     korg_runtime::personas::Persona::Benjamin,
[INFO] [stdout] 1450 | |                     &format!("Edit file {}: {}", file_path, instruction),
[INFO] [stdout] 1451 | |                     "shell-edit",
[INFO] [stdout] 1452 | |                 )
[INFO] [stdout] 1453 | |                 .await;
[INFO] [stdout]      | |                      -
[INFO] [stdout]      | |                      |
[INFO] [stdout]      | |______________________this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]      |                        `#18` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1473 |                           let _ = tokio::fs::write(target, content).await;
[INFO] [stdout]      |                                   ---------------------------------------
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]      |                                   `#19` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1527 |                   let embedding_model: Box<dyn korg_embeddings::EmbeddingModel> =
[INFO] [stdout]      |                       ---------------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]      |                       `#20` will be dropped later as of Edition 2024
[INFO] [stdout] 1528 |                       match korg_embeddings::CandleEmbeddingModel::load() {
[INFO] [stdout]      |                             ---------------------------------------------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]      |                             `#21` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1578 |               korg_runtime::personas::run_persona(query_persona, &final_prompt, "shell-chat").await;
[INFO] [stdout]      |               -------------------------------------------------------------------------------------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]      |               `#22` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `leader` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `leader` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-util-0.7.18/src/sync/cancellation_token.rs:125:1
[INFO] [stdout]      |
[INFO] [stdout]  125 | impl Drop for CancellationToken {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `leader` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:487:1
[INFO] [stdout]      |
[INFO] [stdout]  487 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `leader` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `leader` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/signing.rs:659:1
[INFO] [stdout]      |
[INFO] [stdout]  659 | impl Drop for SigningKey {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `leader` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lru-0.12.5/src/lib.rs:1487:1
[INFO] [stdout]      |
[INFO] [stdout] 1487 | impl<K, V, S> Drop for LruCache<K, V, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `embedding_model` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/onig-6.5.3/src/lib.rs:837:1
[INFO] [stdout]      |
[INFO] [stdout]  837 | impl Drop for Regex {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-0.1.44/src/span.rs:1455:1
[INFO] [stdout]      |
[INFO] [stdout] 1455 | impl Drop for Span {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#20` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/onig-6.5.3/src/lib.rs:837:1
[INFO] [stdout]      |
[INFO] [stdout]  837 | impl Drop for Regex {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-0.1.44/src/span.rs:1455:1
[INFO] [stdout]      |
[INFO] [stdout] 1455 | impl Drop for Span {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/main.rs:1421:27
[INFO] [stdout]      |
[INFO] [stdout] 1331 |               let mut leader = LeaderOrchestrator::new(goal_prompt.to_string(), None);
[INFO] [stdout]      |                   ----------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `leader` calls a custom destructor
[INFO] [stdout]      |                   `leader` will be dropped later as of Edition 2024
[INFO] [stdout] 1332 |               leader.goal_mode = true;
[INFO] [stdout] 1333 |               leader.set_cognition_mode("autonomous").await;
[INFO] [stdout]      |               ---------------------------------------------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `__awaitee` calls a custom destructor
[INFO] [stdout]      |               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1350 |               match leader.run_full_campaign().await {
[INFO] [stdout]      |                     --------------------------------
[INFO] [stdout]      |                     |                          |
[INFO] [stdout]      |                     |                          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                     |                          `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1355 |                   Err(e) => println!("\n{}❌ Goal campaign failed: {}{}", pink, e, reset),
[INFO] [stdout]      |                       -
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       `e` calls a custom destructor
[INFO] [stdout]      |                       `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1382 |                   let output = tokio::process::Command::new(cmd).args(&args).output().await;
[INFO] [stdout]      |                                ------------------------------------------------------------
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1402 |               korg_runtime::skills::run_reconcile(None).await?;
[INFO] [stdout]      |               ------------------------------------------------
[INFO] [stdout]      |               |                                         |
[INFO] [stdout]      |               |                                         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |               |                                         `#8` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |               `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |               `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1407 |               korg_runtime::skills::run_synthesize().await?;
[INFO] [stdout]      |               ---------------------------------------------
[INFO] [stdout]      |               |                                      |
[INFO] [stdout]      |               |                                      this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      |               |                                      `#11` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |               `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |               `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1413 |               let embedding_model: Box<dyn korg_embeddings::EmbeddingModel> =
[INFO] [stdout]      |                   ---------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `embedding_model` calls a custom destructor
[INFO] [stdout]      |                   `embedding_model` will be dropped later as of Edition 2024
[INFO] [stdout] 1414 |                   match korg_embeddings::CandleEmbeddingModel::load() {
[INFO] [stdout]      |                         ---------------------------------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      |                         `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1418 |               match korg_runtime::code_indexer::index_workspace(".", &*embedding_model).await {
[INFO] [stdout]      |                     -------------------------------------------------------------------------
[INFO] [stdout]      |                     |                                                                   |
[INFO] [stdout]      |                     |                                                                   this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      |                     |                                                                   `#15` will be dropped later as of Edition 2024
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      |                     `#13` will be dropped later as of Edition 2024
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      |                     `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1421 |                       match korg_runtime::code_indexer::save_index(&idx, index_path_str) { Err(e) => {
[INFO] [stdout]      |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^       -
[INFO] [stdout]      |                             |                                                                  |
[INFO] [stdout]      |                             |                                                                  this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      |                             |                                                                  `#16` will be dropped later as of Edition 2024
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]      |                             up until Edition 2021 `#23` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1432 |                   }
[INFO] [stdout]      |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 1433 |                   Err(e) => println!("{}❌ Failed to index workspace: {}{}", pink, e, reset),
[INFO] [stdout]      |                       -
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]      |                       `#17` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1448 |                   let result = korg_runtime::personas::run_persona(
[INFO] [stdout]      |  ______________________________-
[INFO] [stdout] 1449 | |                     korg_runtime::personas::Persona::Benjamin,
[INFO] [stdout] 1450 | |                     &format!("Edit file {}: {}", file_path, instruction),
[INFO] [stdout] 1451 | |                     "shell-edit",
[INFO] [stdout] 1452 | |                 )
[INFO] [stdout] 1453 | |                 .await;
[INFO] [stdout]      | |                      -
[INFO] [stdout]      | |                      |
[INFO] [stdout]      | |______________________this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]      |                        `#18` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1473 |                           let _ = tokio::fs::write(target, content).await;
[INFO] [stdout]      |                                   ---------------------------------------
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]      |                                   `#19` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1527 |                   let embedding_model: Box<dyn korg_embeddings::EmbeddingModel> =
[INFO] [stdout]      |                       ---------------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]      |                       `#20` will be dropped later as of Edition 2024
[INFO] [stdout] 1528 |                       match korg_embeddings::CandleEmbeddingModel::load() {
[INFO] [stdout]      |                             ---------------------------------------------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]      |                             `#21` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 1578 |               korg_runtime::personas::run_persona(query_persona, &final_prompt, "shell-chat").await;
[INFO] [stdout]      |               -------------------------------------------------------------------------------------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]      |               `#22` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `leader` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `leader` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-util-0.7.18/src/sync/cancellation_token.rs:125:1
[INFO] [stdout]      |
[INFO] [stdout]  125 | impl Drop for CancellationToken {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `leader` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:487:1
[INFO] [stdout]      |
[INFO] [stdout]  487 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `leader` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.52.3/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `leader` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/ed25519-dalek-2.2.0/src/signing.rs:659:1
[INFO] [stdout]      |
[INFO] [stdout]  659 | impl Drop for SigningKey {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `leader` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lru-0.12.5/src/lib.rs:1487:1
[INFO] [stdout]      |
[INFO] [stdout] 1487 | impl<K, V, S> Drop for LruCache<K, V, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/process/unix/common/cstring_array.rs:79:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `embedding_model` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/onig-6.5.3/src/lib.rs:837:1
[INFO] [stdout]      |
[INFO] [stdout]  837 | impl Drop for Regex {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-0.1.44/src/span.rs:1455:1
[INFO] [stdout]      |
[INFO] [stdout] 1455 | impl Drop for Span {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#20` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#21` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/onig-6.5.3/src/lib.rs:837:1
[INFO] [stdout]      |
[INFO] [stdout]  837 | impl Drop for Regex {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tracing-0.1.44/src/span.rs:1455:1
[INFO] [stdout]      |
[INFO] [stdout] 1455 | impl Drop for Span {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 04s
[INFO] [stderr] crater-edition-check: korg v0.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: korg-auth v0.1.0 (/opt/rustwide/workdir/crates/korg-auth) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: korg-core v0.1.0 (/opt/rustwide/workdir/crates/korg-core) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: korg-embeddings v0.1.0 (/opt/rustwide/workdir/crates/korg-embeddings) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: korg-llm v0.1.0 (/opt/rustwide/workdir/crates/korg-llm) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: korg-registry v0.1.0 (/opt/rustwide/workdir/crates/korg-registry) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: korg-ledger v0.1.0 (/opt/rustwide/workdir/crates/korg-ledger) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: korg-runtime v0.1.0 (/opt/rustwide/workdir/crates/korg-runtime) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: korg-server v0.1.0 (/opt/rustwide/workdir/crates/korg-server) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: korg-tui v0.1.0 (/opt/rustwide/workdir/crates/korg-tui) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: korg-bridge v0.3.3 (/opt/rustwide/workdir/crates/korg-bridge) updating edition from 2021 to 2024
[INFO] [stderr] crater-edition-check: korg-verify v0.1.0 (/opt/rustwide/workdir/crates/korg-verify) updating edition from 2021 to 2024
[INFO] [stderr]     Checking korg-ledger v0.1.0 (/opt/rustwide/workdir/crates/korg-ledger)
[INFO] [stderr]     Checking korg-core v0.1.0 (/opt/rustwide/workdir/crates/korg-core)
[INFO] [stderr]     Checking korg-embeddings v0.1.0 (/opt/rustwide/workdir/crates/korg-embeddings)
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> crates/korg-ledger/src/lib.rs:442:59
[INFO] [stdout]     |
[INFO] [stdout] 442 |                 prop::collection::btree_map("[a-z]{1,5}", (-9_007_199_254_740_991i64..=9_007_199_254_740_991i64), 0..4), 0..12),
[INFO] [stdout]     |                                                           ^                                                    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 442 -                 prop::collection::btree_map("[a-z]{1,5}", (-9_007_199_254_740_991i64..=9_007_199_254_740_991i64), 0..4), 0..12),
[INFO] [stdout] 442 +                 prop::collection::btree_map("[a-z]{1,5}", -9_007_199_254_740_991i64..=9_007_199_254_740_991i64, 0..4), 0..12),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> crates/korg-ledger/src/lib.rs:453:59
[INFO] [stdout]     |
[INFO] [stdout] 453 |                 prop::collection::btree_map("[a-z]{1,5}", (-9_007_199_254_740_991i64..=9_007_199_254_740_991i64), 1..4), 1..8),
[INFO] [stdout]     |                                                           ^                                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 453 -                 prop::collection::btree_map("[a-z]{1,5}", (-9_007_199_254_740_991i64..=9_007_199_254_740_991i64), 1..4), 1..8),
[INFO] [stdout] 453 +                 prop::collection::btree_map("[a-z]{1,5}", -9_007_199_254_740_991i64..=9_007_199_254_740_991i64, 1..4), 1..8),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> crates/korg-ledger/src/lib.rs:466:59
[INFO] [stdout]     |
[INFO] [stdout] 466 |                 prop::collection::btree_map("[a-z]{1,5}", (-9_007_199_254_740_991i64..=9_007_199_254_740_991i64), 1..4), 2..8),
[INFO] [stdout]     |                                                           ^                                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 466 -                 prop::collection::btree_map("[a-z]{1,5}", (-9_007_199_254_740_991i64..=9_007_199_254_740_991i64), 1..4), 2..8),
[INFO] [stdout] 466 +                 prop::collection::btree_map("[a-z]{1,5}", -9_007_199_254_740_991i64..=9_007_199_254_740_991i64, 1..4), 2..8),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> crates/korg-ledger/src/lib.rs:488:60
[INFO] [stdout]     |
[INFO] [stdout] 488 |             m in prop::collection::btree_map("[a-z]{1,6}", (-9_007_199_254_740_991i64..=9_007_199_254_740_991i64), 0..8),
[INFO] [stdout]     |                                                            ^                                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 488 -             m in prop::collection::btree_map("[a-z]{1,6}", (-9_007_199_254_740_991i64..=9_007_199_254_740_991i64), 0..8),
[INFO] [stdout] 488 +             m in prop::collection::btree_map("[a-z]{1,6}", -9_007_199_254_740_991i64..=9_007_199_254_740_991i64, 0..8),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking korg-verify v0.1.0 (/opt/rustwide/workdir/crates/korg-verify)
[INFO] [stdout] warning: function `data_dir` is never used
[INFO] [stdout]   --> crates/korg-core/src/paths.rs:36:15
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub(crate) fn data_dir() -> PathBuf {
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking korg-registry v0.1.0 (/opt/rustwide/workdir/crates/korg-registry)
[INFO] [stderr]     Checking korg-llm v0.1.0 (/opt/rustwide/workdir/crates/korg-llm)
[INFO] [stderr]     Checking korg-auth v0.1.0 (/opt/rustwide/workdir/crates/korg-auth)
[INFO] [stdout] warning: function `data_dir` is never used
[INFO] [stdout]   --> crates/korg-core/src/paths.rs:36:15
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub(crate) fn data_dir() -> PathBuf {
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PkceCodeVerifier` and `TokenResponse`
[INFO] [stdout]  --> crates/korg-auth/src/providers.rs:3:68
[INFO] [stdout]   |
[INFO] [stdout] 3 |     AuthUrl, ClientId, ClientSecret, CsrfToken, PkceCodeChallenge, PkceCodeVerifier, RedirectUrl,
[INFO] [stdout]   |                                                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     Scope, TokenResponse, TokenUrl,
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TransitionPlan`
[INFO] [stdout]  --> crates/korg-registry/src/executor.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::plan::{MutationStep, TransitionPlan};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CampaignProjection`, `CampaignState`, and `CampaignStatus`
[INFO] [stdout]   --> crates/korg-registry/src/lib.rs:25:29
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(crate) use projection::{CampaignProjection, CampaignState, CampaignStatus, Projection};
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MutationStep`, `SafetyCheck`, and `TransitionPlan`
[INFO] [stdout]   --> crates/korg-registry/src/lib.rs:32:19
[INFO] [stdout]    |
[INFO] [stdout] 32 | use crate::plan::{MutationStep, SafetyCheck, TransitionExecution, TransitionPlan};
[INFO] [stdout]    |                   ^^^^^^^^^^^^  ^^^^^^^^^^^                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CapabilityEffect` and `EffectNode`
[INFO] [stdout]   --> crates/korg-registry/src/lib.rs:34:20
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::types::{CapabilityEffect, CapabilityLease, EffectNode};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PkceCodeVerifier` and `TokenResponse`
[INFO] [stdout]  --> crates/korg-auth/src/providers.rs:3:68
[INFO] [stdout]   |
[INFO] [stdout] 3 |     AuthUrl, ClientId, ClientSecret, CsrfToken, PkceCodeChallenge, PkceCodeVerifier, RedirectUrl,
[INFO] [stdout]   |                                                                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     Scope, TokenResponse, TokenUrl,
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> crates/korg-auth/src/lib.rs:45:16
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct AuthState {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub(crate) config: AuthConfig,
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `OAuthProvider` is never used
[INFO] [stdout]   --> crates/korg-auth/src/providers.rs:71:18
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub(crate) trait OAuthProvider: Send + Sync {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `codex_provider` and `anthropic_provider` are never read
[INFO] [stdout]    --> crates/korg-auth/src/providers.rs:152:16
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub struct AuthProviders {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub(crate) codex_provider: Arc<CodexProvider>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout] 153 |     pub(crate) anthropic_provider: Arc<AnthropicProvider>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_provider` is never used
[INFO] [stdout]    --> crates/korg-auth/src/providers.rs:186:19
[INFO] [stdout]     |
[INFO] [stdout] 162 | impl AuthProviders {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub(crate) fn get_provider(&self, id: &str) -> Option<Arc<dyn OAuthProvider>> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `delete_session` is never used
[INFO] [stdout]    --> crates/korg-auth/src/store.rs:258:19
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl JsonTokenStore {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub(crate) fn delete_session(&self, user_id: &str) -> Result<(), anyhow::Error> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> crates/korg-auth/src/lib.rs:45:16
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct AuthState {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub(crate) config: AuthConfig,
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `OAuthProvider` is never used
[INFO] [stdout]   --> crates/korg-auth/src/providers.rs:71:18
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub(crate) trait OAuthProvider: Send + Sync {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `codex_provider` and `anthropic_provider` are never read
[INFO] [stdout]    --> crates/korg-auth/src/providers.rs:152:16
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub struct AuthProviders {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub(crate) codex_provider: Arc<CodexProvider>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout] 153 |     pub(crate) anthropic_provider: Arc<AnthropicProvider>,
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_provider` is never used
[INFO] [stdout]    --> crates/korg-auth/src/providers.rs:186:19
[INFO] [stdout]     |
[INFO] [stdout] 162 | impl AuthProviders {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub(crate) fn get_provider(&self, id: &str) -> Option<Arc<dyn OAuthProvider>> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `delete_session` is never used
[INFO] [stdout]    --> crates/korg-auth/src/store.rs:258:19
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl JsonTokenStore {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub(crate) fn delete_session(&self, user_id: &str) -> Result<(), anyhow::Error> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TransitionPlan`
[INFO] [stdout]  --> crates/korg-registry/src/executor.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::plan::{MutationStep, TransitionPlan};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SafetyCheck`
[INFO] [stdout]   --> crates/korg-registry/src/lib.rs:32:33
[INFO] [stdout]    |
[INFO] [stdout] 32 | use crate::plan::{MutationStep, SafetyCheck, TransitionExecution, TransitionPlan};
[INFO] [stdout]    |                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Projection`
[INFO] [stdout]   --> crates/korg-registry/src/lib.rs:25:80
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub(crate) use projection::{CampaignProjection, CampaignState, CampaignStatus, Projection};
[INFO] [stdout]    |                                                                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fs2::FileExt`
[INFO] [stdout]    --> crates/korg-llm/src/lib.rs:941:9
[INFO] [stdout]     |
[INFO] [stdout] 941 |     use fs2::FileExt;
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fs2::FileExt`
[INFO] [stdout]     --> crates/korg-llm/src/lib.rs:1332:13
[INFO] [stdout]      |
[INFO] [stdout] 1332 |         use fs2::FileExt;
[INFO] [stdout]      |             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fs2::FileExt`
[INFO] [stdout]    --> crates/korg-llm/src/lib.rs:941:9
[INFO] [stdout]     |
[INFO] [stdout] 941 |     use fs2::FileExt;
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fs2::FileExt`
[INFO] [stdout]     --> crates/korg-llm/src/lib.rs:1332:13
[INFO] [stdout]      |
[INFO] [stdout] 1332 |         use fs2::FileExt;
[INFO] [stdout]      |             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/korg-llm/src/lib.rs:270:5
[INFO] [stdout]     |
[INFO] [stdout] 270 |     mut bytes_stream: impl Stream<Item = Result<Bytes, reqwest::Error>> + Send + Unpin + 'static,
[INFO] [stdout]     |     ----^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/korg-llm/src/lib.rs:276:9
[INFO] [stdout]     |
[INFO] [stdout] 276 |     let mut buffer = Vec::new();
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/korg-llm/src/lib.rs:270:5
[INFO] [stdout]     |
[INFO] [stdout] 270 |     mut bytes_stream: impl Stream<Item = Result<Bytes, reqwest::Error>> + Send + Unpin + 'static,
[INFO] [stdout]     |     ----^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/korg-llm/src/lib.rs:276:9
[INFO] [stdout]     |
[INFO] [stdout] 276 |     let mut buffer = Vec::new();
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ExecutionCheckpoint` is more private than the item `CapabilityResolver::create_checkpoint`
[INFO] [stdout]    --> crates/korg-registry/src/lib.rs:772:5
[INFO] [stdout]     |
[INFO] [stdout] 772 | /     pub fn create_checkpoint(
[INFO] [stdout] 773 | |         &self,
[INFO] [stdout] 774 | |         checkpoint_id: uuid::Uuid,
[INFO] [stdout] 775 | |         parent_checkpoint_id: Option<uuid::Uuid>,
[INFO] [stdout] 776 | |         workspace_snapshot: String,
[INFO] [stdout] 777 | |         evaluated_entropy: f64,
[INFO] [stdout] 778 | |     ) -> Result<ExecutionCheckpoint, String> {
[INFO] [stdout]     | |____________________________________________^ method `CapabilityResolver::create_checkpoint` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ExecutionCheckpoint` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> crates/korg-registry/src/checkpoint.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub(crate) struct ExecutionCheckpoint {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ExecutionCheckpoint` is more private than the item `CapabilityResolver::restore_checkpoint`
[INFO] [stdout]    --> crates/korg-registry/src/lib.rs:805:5
[INFO] [stdout]     |
[INFO] [stdout] 805 |     pub fn restore_checkpoint(&mut self, checkpoint: &ExecutionCheckpoint) -> Result<(), String> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `CapabilityResolver::restore_checkpoint` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ExecutionCheckpoint` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> crates/korg-registry/src/checkpoint.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub(crate) struct ExecutionCheckpoint {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `projection_version` is never used
[INFO] [stdout]   --> crates/korg-registry/src/projection.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub(crate) trait Projection: Send + Sync {
[INFO] [stdout]    |                  ---------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 13 |     fn projection_version(&self) -> u32;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `name`, `projection_version`, and `reset_dynamic` are never used
[INFO] [stdout]    --> crates/korg-registry/src/projection.rs:164:8
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub(crate) trait DynamicProjection: Send + Sync {
[INFO] [stdout]     |                  ----------------- methods in this trait
[INFO] [stdout] 164 |     fn name(&self) -> &'static str;
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 165 |     fn projection_version(&self) -> u32;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     fn reset_dynamic(&mut self);
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_projection_version`, `reset_all`, and `rebuild_projection` are never used
[INFO] [stdout]    --> crates/korg-registry/src/projection.rs:232:19
[INFO] [stdout]     |
[INFO] [stdout] 201 | impl ProjectionEngine {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 232 |     pub(crate) fn get_projection_version(&self, name: &str) -> Option<u32> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 236 |     pub(crate) fn reset_all(&mut self) {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 |     pub(crate) fn rebuild_projection(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking korg-bridge v0.3.3 (/opt/rustwide/workdir/crates/korg-bridge)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/korg-llm/src/lib.rs:1169:17
[INFO] [stdout]      |
[INFO] [stdout] 1169 |             let mut request = req.clone();
[INFO] [stdout]      |                 ----^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `custom_model`
[INFO] [stdout]     --> crates/korg-llm/src/lib.rs:1170:25
[INFO] [stdout]      |
[INFO] [stdout] 1170 |             if let Some(ref custom_model) = candidate.default_model {
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_custom_model`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]     --> crates/korg-llm/src/lib.rs:1181:21
[INFO] [stdout]      |
[INFO] [stdout] 1181 |                 Err(err) => {
[INFO] [stdout]      |                     ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/korg-registry/src/lib.rs:1222:13
[INFO] [stdout]      |
[INFO] [stdout] 1222 |         let mut reloaded_journal =
[INFO] [stdout]      |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clock1`
[INFO] [stdout]     --> crates/korg-registry/src/lib.rs:1730:13
[INFO] [stdout]      |
[INFO] [stdout] 1730 |         let clock1 = journal.clock;
[INFO] [stdout]      |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_clock1`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ExecutionCheckpoint` is more private than the item `CapabilityResolver::create_checkpoint`
[INFO] [stdout]    --> crates/korg-registry/src/lib.rs:772:5
[INFO] [stdout]     |
[INFO] [stdout] 772 | /     pub fn create_checkpoint(
[INFO] [stdout] 773 | |         &self,
[INFO] [stdout] 774 | |         checkpoint_id: uuid::Uuid,
[INFO] [stdout] 775 | |         parent_checkpoint_id: Option<uuid::Uuid>,
[INFO] [stdout] 776 | |         workspace_snapshot: String,
[INFO] [stdout] 777 | |         evaluated_entropy: f64,
[INFO] [stdout] 778 | |     ) -> Result<ExecutionCheckpoint, String> {
[INFO] [stdout]     | |____________________________________________^ method `CapabilityResolver::create_checkpoint` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ExecutionCheckpoint` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> crates/korg-registry/src/checkpoint.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub(crate) struct ExecutionCheckpoint {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ExecutionCheckpoint` is more private than the item `CapabilityResolver::restore_checkpoint`
[INFO] [stdout]    --> crates/korg-registry/src/lib.rs:805:5
[INFO] [stdout]     |
[INFO] [stdout] 805 |     pub fn restore_checkpoint(&mut self, checkpoint: &ExecutionCheckpoint) -> Result<(), String> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `CapabilityResolver::restore_checkpoint` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ExecutionCheckpoint` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> crates/korg-registry/src/checkpoint.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | pub(crate) struct ExecutionCheckpoint {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `name` and `reset_dynamic` are never used
[INFO] [stdout]    --> crates/korg-registry/src/projection.rs:164:8
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub(crate) trait DynamicProjection: Send + Sync {
[INFO] [stdout]     |                  ----------------- methods in this trait
[INFO] [stdout] 164 |     fn name(&self) -> &'static str;
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     fn reset_dynamic(&mut self);
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `reset_all` is never used
[INFO] [stdout]    --> crates/korg-registry/src/projection.rs:236:19
[INFO] [stdout]     |
[INFO] [stdout] 201 | impl ProjectionEngine {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 236 |     pub(crate) fn reset_all(&mut self) {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `gil-refs`
[INFO] [stdout]   --> crates/korg-bridge/src/lib.rs:38:1
[INFO] [stdout]    |
[INFO] [stdout] 38 | / pyo3::create_exception!(
[INFO] [stdout] 39 | |     korg_bridge,
[INFO] [stdout] 40 | |     CausalityError,
[INFO] [stdout] 41 | |     PyValueError,
[INFO] [stdout] 42 | |     "A write whose triggered_by does not reference an existing, strictly-earlier seq_id."
[INFO] [stdout] 43 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `extension-module`
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `$crate::impl_exception_boilerplate` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_exception_boilerplate` which comes from the expansion of the macro `pyo3::create_exception` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `gil-refs`
[INFO] [stdout]   --> crates/korg-bridge/src/lib.rs:38:1
[INFO] [stdout]    |
[INFO] [stdout] 38 | / pyo3::create_exception!(
[INFO] [stdout] 39 | |     korg_bridge,
[INFO] [stdout] 40 | |     CausalityError,
[INFO] [stdout] 41 | |     PyValueError,
[INFO] [stdout] 42 | |     "A write whose triggered_by does not reference an existing, strictly-earlier seq_id."
[INFO] [stdout] 43 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `extension-module`
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `$crate::impl_exception_boilerplate` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_exception_boilerplate` which comes from the expansion of the macro `pyo3::create_exception` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `gil-refs`
[INFO] [stdout]   --> crates/korg-bridge/src/lib.rs:38:1
[INFO] [stdout]    |
[INFO] [stdout] 38 | / pyo3::create_exception!(
[INFO] [stdout] 39 | |     korg_bridge,
[INFO] [stdout] 40 | |     CausalityError,
[INFO] [stdout] 41 | |     PyValueError,
[INFO] [stdout] 42 | |     "A write whose triggered_by does not reference an existing, strictly-earlier seq_id."
[INFO] [stdout] 43 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `extension-module`
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `$crate::impl_exception_boilerplate` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_exception_boilerplate` which comes from the expansion of the macro `pyo3::create_exception` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `gil-refs`
[INFO] [stdout]   --> crates/korg-bridge/src/lib.rs:38:1
[INFO] [stdout]    |
[INFO] [stdout] 38 | / pyo3::create_exception!(
[INFO] [stdout] 39 | |     korg_bridge,
[INFO] [stdout] 40 | |     CausalityError,
[INFO] [stdout] 41 | |     PyValueError,
[INFO] [stdout] 42 | |     "A write whose triggered_by does not reference an existing, strictly-earlier seq_id."
[INFO] [stdout] 43 | | );
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected values for `feature` are: `default` and `extension-module`
[INFO] [stdout]    = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]    = help: try referring to `$crate::impl_exception_boilerplate` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: this warning originates in the macro `$crate::impl_exception_boilerplate` which comes from the expansion of the macro `pyo3::create_exception` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> crates/korg-bridge/src/lib.rs:77:23
[INFO] [stdout]    |
[INFO] [stdout] 77 |         journal_path: PathBuf,
[INFO] [stdout]    |                       ^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:117:27
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn record_user_prompt(&self, prompt: &str) -> PyResult<u64> {
[INFO] [stdout]     |                           ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:117:42
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn record_user_prompt(&self, prompt: &str) -> PyResult<u64> {
[INFO] [stdout]     |                                          ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 157 |         &self,
[INFO] [stdout]     |         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:158:16
[INFO] [stdout]     |
[INFO] [stdout] 158 |         model: &str,
[INFO] [stdout]     |                ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:159:24
[INFO] [stdout]     |
[INFO] [stdout] 159 |         prompt_tokens: u64,
[INFO] [stdout]     |                        ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:160:28
[INFO] [stdout]     |
[INFO] [stdout] 160 |         completion_tokens: u64,
[INFO] [stdout]     |                            ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:161:22
[INFO] [stdout]     |
[INFO] [stdout] 161 |         duration_ms: u64,
[INFO] [stdout]     |                      ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> crates/korg-llm/src/lib.rs:1169:17
[INFO] [stdout]      |
[INFO] [stdout] 1169 |             let mut request = req.clone();
[INFO] [stdout]      |                 ----^^^^^^^
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `custom_model`
[INFO] [stdout]     --> crates/korg-llm/src/lib.rs:1170:25
[INFO] [stdout]      |
[INFO] [stdout] 1170 |             if let Some(ref custom_model) = candidate.default_model {
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_custom_model`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]     --> crates/korg-llm/src/lib.rs:1181:21
[INFO] [stdout]      |
[INFO] [stdout] 1181 |                 Err(err) => {
[INFO] [stdout]      |                     ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |         &self,
[INFO] [stdout]     |         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:236:23
[INFO] [stdout]     |
[INFO] [stdout] 236 |         source_agent: &str,
[INFO] [stdout]     |                       ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:237:20
[INFO] [stdout]     |
[INFO] [stdout] 237 |         tool_name: &str,
[INFO] [stdout]     |                    ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:238:15
[INFO] [stdout]     |
[INFO] [stdout] 238 |         args: &Bound<'_, PyAny>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:239:17
[INFO] [stdout]     |
[INFO] [stdout] 239 |         result: &Bound<'_, PyAny>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:240:18
[INFO] [stdout]     |
[INFO] [stdout] 240 |         success: bool,
[INFO] [stdout]     |                  ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:241:22
[INFO] [stdout]     |
[INFO] [stdout] 241 |         duration_ms: u64,
[INFO] [stdout]     |                      ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]   --> crates/korg-bridge/src/lib.rs:77:23
[INFO] [stdout]    |
[INFO] [stdout] 77 |         journal_path: PathBuf,
[INFO] [stdout]    |                       ^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]    = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:117:27
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn record_user_prompt(&self, prompt: &str) -> PyResult<u64> {
[INFO] [stdout]     |                           ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:117:42
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn record_user_prompt(&self, prompt: &str) -> PyResult<u64> {
[INFO] [stdout]     |                                          ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:263:20
[INFO] [stdout]     |
[INFO] [stdout] 263 |     fn last_seq_id(&self) -> PyResult<u64> {
[INFO] [stdout]     |                    ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout]  60 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:274:14
[INFO] [stdout]     |
[INFO] [stdout] 274 |     fn flush(&self) -> PyResult<()> {
[INFO] [stdout]     |              ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout]  60 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 157 |         &self,
[INFO] [stdout]     |         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:158:16
[INFO] [stdout]     |
[INFO] [stdout] 158 |         model: &str,
[INFO] [stdout]     |                ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:159:24
[INFO] [stdout]     |
[INFO] [stdout] 159 |         prompt_tokens: u64,
[INFO] [stdout]     |                        ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:160:28
[INFO] [stdout]     |
[INFO] [stdout] 160 |         completion_tokens: u64,
[INFO] [stdout]     |                            ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:161:22
[INFO] [stdout]     |
[INFO] [stdout] 161 |         duration_ms: u64,
[INFO] [stdout]     |                      ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:282:17
[INFO] [stdout]     |
[INFO] [stdout] 282 |     fn __repr__(&self) -> PyResult<String> {
[INFO] [stdout]     |                 ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout]  60 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |         &self,
[INFO] [stdout]     |         ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:236:23
[INFO] [stdout]     |
[INFO] [stdout] 236 |         source_agent: &str,
[INFO] [stdout]     |                       ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:237:20
[INFO] [stdout]     |
[INFO] [stdout] 237 |         tool_name: &str,
[INFO] [stdout]     |                    ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:238:15
[INFO] [stdout]     |
[INFO] [stdout] 238 |         args: &Bound<'_, PyAny>,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:239:17
[INFO] [stdout]     |
[INFO] [stdout] 239 |         result: &Bound<'_, PyAny>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:240:18
[INFO] [stdout]     |
[INFO] [stdout] 240 |         success: bool,
[INFO] [stdout]     |                  ^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::extract_argument::unwrap_required_argument` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:241:22
[INFO] [stdout]     |
[INFO] [stdout] 241 |         duration_ms: u64,
[INFO] [stdout]     |                      ^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:263:20
[INFO] [stdout]     |
[INFO] [stdout] 263 |     fn last_seq_id(&self) -> PyResult<u64> {
[INFO] [stdout]     |                    ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout]  60 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:274:14
[INFO] [stdout]     |
[INFO] [stdout] 274 |     fn flush(&self) -> PyResult<()> {
[INFO] [stdout]     |              ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout]  60 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `pyo3::impl_::pymethods::BoundRef::<'a, 'py, pyo3::PyAny>::ref_from_ptr` is unsafe and requires unsafe block
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:282:17
[INFO] [stdout]     |
[INFO] [stdout] 282 |     fn __repr__(&self) -> PyResult<String> {
[INFO] [stdout]     |                 ^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> crates/korg-bridge/src/lib.rs:60:1
[INFO] [stdout]     |
[INFO] [stdout]  60 | #[pymethods]
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the attribute macro `pymethods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr]     Checking korg-runtime v0.1.0 (/opt/rustwide/workdir/crates/korg-runtime)
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> crates/korg-runtime/src/agent.rs:633:9
[INFO] [stdout]     |
[INFO] [stdout] 630 | unsafe fn start_process_group(cmd: &mut tokio::process::Command) { unsafe {
[INFO] [stdout]     |                                                                    ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 633 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> crates/korg-runtime/src/agent.rs:633:9
[INFO] [stdout]     |
[INFO] [stdout] 630 | unsafe fn start_process_group(cmd: &mut tokio::process::Command) { unsafe {
[INFO] [stdout]     |                                                                    ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 633 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> crates/korg-runtime/src/tools.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | unsafe fn start_process_group(cmd: &mut tokio::process::Command) { unsafe {
[INFO] [stdout]    |                                                                    ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 29 |         unsafe {
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]   --> crates/korg-runtime/src/tools.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | unsafe fn start_process_group(cmd: &mut tokio::process::Command) { unsafe {
[INFO] [stdout]    |                                                                    ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 29 |         unsafe {
[INFO] [stdout]    |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking korg-server v0.1.0 (/opt/rustwide/workdir/crates/korg-server)
[INFO] [stderr]     Checking korg-tui v0.1.0 (/opt/rustwide/workdir/crates/korg-tui)
[INFO] [stdout] warning: unused imports: `BarChart`, `Cell`, `Gauge`, `Row`, and `Table`
[INFO] [stdout]   --> crates/korg-tui/src/lib.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |         BarChart, Block, Borders, Cell, Gauge, List, ListItem, Paragraph, Row, Sparkline, Table,
[INFO] [stdout]    |         ^^^^^^^^                  ^^^^  ^^^^^                             ^^^             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]   --> crates/korg-tui/src/lib.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::io;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BarChart`, `Cell`, `Gauge`, `Row`, and `Table`
[INFO] [stdout]   --> crates/korg-tui/src/lib.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |         BarChart, Block, Borders, Cell, Gauge, List, ListItem, Paragraph, Row, Sparkline, Table,
[INFO] [stdout]    |         ^^^^^^^^                  ^^^^  ^^^^^                             ^^^             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]   --> crates/korg-tui/src/lib.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::io;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rt`
[INFO] [stdout]     --> crates/korg-server/src/lib.rs:2741:21
[INFO] [stdout]      |
[INFO] [stdout] 2741 |         if let Some(ref rt) = user.session.refresh_token {
[INFO] [stdout]      |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_rt`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]     --> crates/korg-server/src/lib.rs:2802:5
[INFO] [stdout]      |
[INFO] [stdout] 2802 |     user_id: &str,
[INFO] [stdout]      |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rt`
[INFO] [stdout]     --> crates/korg-server/src/lib.rs:2741:21
[INFO] [stdout]      |
[INFO] [stdout] 2741 |         if let Some(ref rt) = user.session.refresh_token {
[INFO] [stdout]      |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_rt`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_id`
[INFO] [stdout]     --> crates/korg-server/src/lib.rs:2802:5
[INFO] [stdout]      |
[INFO] [stdout] 2802 |     user_id: &str,
[INFO] [stdout]      |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fg_cyan`
[INFO] [stdout]     --> crates/korg-tui/src/lib.rs:2747:9
[INFO] [stdout]      |
[INFO] [stdout] 2747 |     let fg_cyan = Color::Rgb(240, 240, 240); // High-Contrast Pure White/Gray
[INFO] [stdout]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fg_cyan`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fg_crimson`
[INFO] [stdout]     --> crates/korg-tui/src/lib.rs:2751:9
[INFO] [stdout]      |
[INFO] [stdout] 2751 |     let fg_crimson = Color::Rgb(140, 140, 140); // Darker Slate
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fg_crimson`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fg_cyan`
[INFO] [stdout]     --> crates/korg-tui/src/lib.rs:2747:9
[INFO] [stdout]      |
[INFO] [stdout] 2747 |     let fg_cyan = Color::Rgb(240, 240, 240); // High-Contrast Pure White/Gray
[INFO] [stdout]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fg_cyan`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fg_crimson`
[INFO] [stdout]     --> crates/korg-tui/src/lib.rs:2751:9
[INFO] [stdout]      |
[INFO] [stdout] 2751 |     let fg_crimson = Color::Rgb(140, 140, 140); // Darker Slate
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fg_crimson`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking korg v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 19s
[INFO] [stderr] crater-edition-check all packages now at latest edition
[INFO] [stderr] crater-edition-check: all finished
[INFO] running `Command { std: "docker" "inspect" "583451febe83f64599f9978f21f82209b6f7ee0a51337b48ea47c60c8ce201ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "583451febe83f64599f9978f21f82209b6f7ee0a51337b48ea47c60c8ce201ec", kill_on_drop: false }`
[INFO] [stdout] 583451febe83f64599f9978f21f82209b6f7ee0a51337b48ea47c60c8ce201ec
